/*********************
* Author:Dzlua
* QQ:505544956
* time:2016/06/27
*/
#ifndef __EDUI_DEFINES_H__
#define __EDUI_DEFINES_H__

#include "config.h"
#include <stddef.h>
#include <stdint.h>

#if defined(_WIN32)
//windows
#   ifdef EDUI_USE_SHARED
        //shared library
#       ifdef EDUI_EXPORTS
#           define EDUI_API __declspec(dllexport)
#       else
#           define EDUI_API __declspec(dllimport)
#       endif
#   else
        //static library
#       define EDUI_API
#   endif
#elif defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
//linux...
#   ifdef EDUI_USE_SHARED
        //shared library
#       ifdef EDUI_EXPORTS
#           define EDUI_API __attribute__((visibility("default")))
#       else
#           define EDUI_API
#       endif
#   else
        //static library
#       define EDUI_API
#   endif
#else
//other..
#   define EDUI_API      
#endif

typedef int8_t Sint8;
typedef uint8_t Uint8;
typedef int16_t Sint16;
typedef uint16_t Uint16;
typedef int32_t Sint32;
typedef uint32_t Uint32;
typedef int64_t Sint64;
typedef uint64_t Uint64;

#define EDUI_NAMESPACE edui
#define EDUI_NAMESPACE_BEGIN namespace EDUI_NAMESPACE {
#define EDUI_NAMESPACE_END }

#endif
